package com.dhecp.project.system.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.system.domain.SysUserBindRole;
import com.dhecp.project.system.domain.SysUserInfoSimple;

/**
 * 精简用户表 数据层 * 
 * @author DH-Xxj
 * @version 2019年11月1日
 */
public interface SysUserInfoSimpleMapper extends GenericDao<SysUserInfoSimple, String>{

	/**
	 * 通过userId查询用户信息
	 * @param userId
	 * @return SysUserInfoSimple
	 * @author DH-Xxj
	 */
	SysUserInfoSimple findUserByUserId(@Param("userId") String userId);

	/**
	 * 通过daNid查询用户信息
	 * @param daNid
	 * @return List - SysUserInfoSimple
	 * @author DH-Xxj
	 */
    List<SysUserInfoSimple> findUserByDaNid(Map<String, Object> params);

    /**
     * 按条件查询指定角色类型用户列表
     * @param roleType 必要参数，示例：All（查询全部）、SW（商务类角色）、（XS）销售类角色，具体类型在表TS_RoleGuidType中查看和配置
     * @return List - SysUserInfoSimple
     * @author DH-Xxj
     */
    List<SysUserInfoSimple> findRoleTypeUserSimpleList(Map<String, Object> params);

    /**
     * 按条件查询指定客户销售员列表
     * @param gClient 必要参数，指定客户编号
     * @return List - SysUserInfoSimple
     * @author DH-Xxj
     */
    List<SysUserInfoSimple> findCustomerGUserSimpleList(Map<String, Object> params);
	
    /**
     * 根据条件分页查询用户列表
     * @param params 用户信息
     * @return 用户信息集合信息
     */
    List<SysUserInfoSimple> findUserSimpleList(Map<String, Object> params);

    /**
     * 通过用户编号组查询用户列表
     * @param mandator 委托（被代理）用户编号
     * @param userIds 例：（'0000','1001','1002'）
     * @return List - SysUserInfoSimple
     * @author DH-Xxj
     */
    List<SysUserInfoSimple> findUserSimpleListByUserIds(Map<String, Object> params);
    
    /**
     * 通过角色Guid查询绑定指定角色的用户
     * @param roles 例：（'6D1E58B9-D29A-4D38-8E12-2266C82CA1E6','7361BAB4-73B6-410F-9F18-6D5DAF0A7EDB'）
     * @return List - SysUserBindRole
     * @author DH-Xxj
     */
    List<SysUserBindRole> findUserBindRoleByRoleGuid(@Param("roles") String roles);
}
